home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2004 April / Gamestar_61_2004-04_dvdb.iso / DVDStar / Editace / hltp.exe / {app} / Applications / Batch Compiler / SpecFiles / Zoners.bcs < prev   
Text File  |  2003-04-28  |  34KB  |  896 lines

  1. // Zoners Tools Batch Compiler Spec file.
  2. // Written by: Ryan Gregg
  3. // Last updated: April 16, 2003
  4.  
  5. Setup = Zoners Tools
  6. {
  7.   Author = Ryan Gregg
  8.   Program = Half-Life
  9.   Filter = Map Files (*.map)|*.map|BSP Files (*.bsp)|*.bsp|All Files (*.*)|*.*
  10.  
  11.   Layout: 
  12.   @echo off
  13.   set WADROOT=$BasePath
  14.   echo ###################################################
  15.   echo #            Batch Compiler Zoners Spec           #
  16.   echo ###################################################
  17.   echo ###################################################
  18.   echo #  Please report bugs to: ryansgregg@hotmail.com  #
  19.   echo ###################################################
  20.   echo.
  21.   echo Written At: $DateTime
  22.   echo BC Version: $Version
  23.   echo.
  24.   "$ClassEXE=CSG" $ClassParam=CSG "$FilePath\$FileName.$FileExt"
  25.   "$ClassEXE=BSP" $ClassParam=BSP "$FilePath\$FileName.$FileExt"
  26.   "$ClassEXE=VIS" $ClassParam=VIS "$FilePath\$FileName.$FileExt"
  27.   "$ClassEXE=NetVIS" $ClassParam=NetVIS "$FilePath\$FileName.$FileExt"
  28.   "$ClassEXE=RAD" $ClassParam=RAD "$FilePath\$FileName.$FileExt"
  29.   "$ClassEXE=RipEnts" $ClassParam=RipEnts "$FilePath\$FileName.$FileExt"
  30.   $ClassParam=Batch
  31.   "$ClassEXE=HL" $ClassParam=HL
  32.   "$BCLV" "$FilePath\$FileName.log"
  33.   echo.
  34.   pause
  35. }
  36.  
  37. //
  38. // CSG
  39. //
  40. Group = CSG
  41. {
  42.   Name = Constructive Solid Geometry
  43.   RequireEXE = true
  44.   EXEFilter = HLCSG (hlcsg.exe)|hlcsg.exe
  45.  
  46.   CheckBox = No WAD Textures
  47.   {
  48.     Param = -nowadtextures
  49.     Hint = Include all used textures into bsp.
  50.            This option is obsolete by -wadinclude and is only left in to retain some backwards compatibility.
  51.   }
  52.   CheckBox = Entities Only
  53.   {
  54.     Param = -onlyents
  55.     Hint = Do an entity update from .map to .bsp.
  56.            This option will take the entities from the .map file and update them into the bsp file. For the most part, entities can only be edited. Adding or removing any can reorder the other entities which frequently break brush based entities, especially triggers.
  57.   }
  58.   CheckBox = No Sky Clip
  59.   {
  60.     Param = -noskyclip
  61.     Hint = Disable automatic clipping of SKY brushes.
  62.            By default hlcsg will CLIP all SKY brushes, as well as remove all non-sky faces on the 'inside' of a sky brush (which eases up vis time, and improves some time and memory usage in rad as well).
  63.   }
  64.   CheckBox = No Clip
  65.   {
  66.     Param = -noclip
  67.     Groups = HLBSP
  68.     Hint = Don't create clipping hull.
  69.            Half-life like Quake 1, has 4 hulls, 1 visual hull and 3 collision hulls. This option disables generation of the collision hulls for a small savings in compile time. Note that the world will not be solid at all (everything will fall into the void) with this option set.
  70.   }
  71.  
  72.   EditBox = Brush Union
  73.   {
  74.     Param = -brushunion
  75.     Type = Float
  76.     Default = 95
  77.     Hint = Threshold to warn about overlapping brushes.
  78.            This option is a mapper debugging feature. The value passed in is a percentage (0 to 100) of overlap of two brushes before a warning is printed. Starting with a high value (95+) is a good idea, as going too low to start can print hundreds or thousands of messages. The brush numbers of the intersecting brushes and the percentage in which they intersect each other is displayed for each occurrence. This option is off by default as it dramatically slows down hlcsg to do these calculations.
  79.   }
  80.   EditBox = Tiny
  81.   {
  82.     Param = -tiny
  83.     Type = Float
  84.     Default = 0.5
  85.     Hint = Minimum brush face surface area before it is discarded.
  86.            Tiny brush faces are outright removed. The current cut-off is 0.5 square units. It is dangerous to drop faces in this manner, as the BSP tree for the world can be unusable, or generate leaf portal errors or hall-of-mirrors vis errors.
  87.   }
  88.  
  89.   BrowseBox = Hull File
  90.   {
  91.     Param = -hullfile
  92.     Type = File
  93.     Filter = Hull Files (*.hull)|*.hull|Text Files (*.txt)|*.txt
  94.     Hint = Load a custom hullfile.
  95.            Loads a custom set of hulls for the collision hull generation. The file is composed of 3 lines of 3 whitespace delimited numbers. Each line is an X Y Z size of the bounding box it is for. Only specific mod authors and their mapping teams should ever worry about this feature.
  96.   }
  97.  
  98.   Spaces = 3
  99.  
  100.   EditBox = Additional Parameters
  101.   {
  102.     Type = string
  103.     Width = 3
  104.     Hint = Add additional parameters here as you would a command line.
  105.   }
  106.  
  107.   BrowseBox = WAD File
  108.   {
  109.     Param = -wadinclude
  110.     Type = Name
  111.     Filter = WAD Files (*.wad)|*.wad
  112.     Hint = Place textures used from wad specified into bsp.
  113.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  114.   }
  115.   BrowseBox = WAD File
  116.   {
  117.     Param = -wadinclude
  118.     Type = Name
  119.     Filter = WAD Files (*.wad)|*.wad
  120.     Hint = Place textures used from wad specified into bsp.
  121.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  122.   }
  123.   BrowseBox = WAD File
  124.   {
  125.     Param = -wadinclude
  126.     Type = Name
  127.     Filter = WAD Files (*.wad)|*.wad
  128.     Hint = Place textures used from wad specified into bsp.
  129.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  130.   }
  131.   BrowseBox = WAD File
  132.   {
  133.     Param = -wadinclude
  134.     Type = Name
  135.     Filter = WAD Files (*.wad)|*.wad
  136.     Hint = Place textures used from wad specified into bsp.
  137.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  138.   }
  139.   BrowseBox = WAD File
  140.   {
  141.     Param = -wadinclude
  142.     Type = Name
  143.     Filter = WAD Files (*.wad)|*.wad
  144.     Hint = Place textures used from wad specified into bsp.
  145.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  146.   }
  147.   BrowseBox = WAD File
  148.   {
  149.     Param = -wadinclude
  150.     Type = Name
  151.     Filter = WAD Files (*.wad)|*.wad
  152.     Hint = Place textures used from wad specified into bsp.
  153.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  154.   }
  155.   BrowseBox = WAD File
  156.   {
  157.     Param = -wadinclude
  158.     Type = Name
  159.     Filter = WAD Files (*.wad)|*.wad
  160.     Hint = Place textures used from wad specified into bsp.
  161.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  162.   }
  163.  
  164.   Spaces = 4
  165.  
  166.   BrowseBox = WAD Path
  167.   {
  168.     Param = -wadinclude
  169.     Type = Path
  170.     Hint = Place textures used from wad files in the specified path into bsp.
  171.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  172.   }
  173.   BrowseBox = WAD Path
  174.   {
  175.     Param = -wadinclude
  176.     Type = Path
  177.     Hint = Place textures used from wad files in the specified path into bsp.
  178.            This option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp.
  179.   }
  180. }
  181.  
  182. //
  183. // BSP
  184. //
  185. Group = BSP
  186. {
  187.   Name = Binary Space Partition
  188.   RequireEXE = true
  189.   EXEFilter = HLBSP (hlbsp.exe)|hlbsp.exe
  190.  
  191.   CheckBox = Leak Only
  192.   {
  193.     Param = -leakonly
  194.     Hint = Run BSP only enough to check for leaks.
  195.            If you already know a map has a leak, this is a good option to just save some time in hlbsp and just generate the pts file.
  196.   }
  197.   CheckBox = Not T-Junction
  198.   {
  199.     Param = -notjunc
  200.     Hint = Don't break edges on t-junctions (not for final runs).
  201.            This is a development/debugging option that should not be set in normal use.
  202.   }
  203.   CheckBox = No Fill
  204.   {
  205.     Param = -nofill
  206.     Hint = Don't fill outside (will mask leaks) (not for final runs).
  207.            This step causes filling to not be performed, which will cause all the faces on the outside of the map to not be discarded. It is probably a bad idea to rad a map that has been compiled this way, though vis should run normally.
  208.   }
  209.  
  210.   EditBox = Subdivide
  211.   {
  212.     Param = -subdivide
  213.     Type = Float
  214.     Default = 240
  215.     Min = 64
  216.     Max = 240
  217.     Hint = Sets the face subdivide size.
  218.            Faces in Half-life are subdivided by this value (in units). The default and maximum are both 240, and it should never need to be set lower (as it just increases r_speeds).
  219.   }
  220.   EditBox = Max Node Size
  221.   {
  222.     Param = -maxnodesize
  223.     Bold = true
  224.     Type = Float
  225.     Default = 1024
  226.     Min = 64
  227.     Max = 4096
  228.     Hint = Sets the maximum portal node size.
  229.            This option tweaks the maximum size of a portal node. Setting it smaller will bsp the world into smaller chunks at the cost of higher r_speeds, but it can pay itself back in many cases with making vis either faster, or more accurate, or both.
  230.   }
  231.   
  232.   Spaces = 5
  233.  
  234.   EditBox = Additional Parameters
  235.   {
  236.     Type = string
  237.     Width = 3
  238.     Hint = Add additional parameters here as you would a command line.
  239.   }
  240. }
  241.  
  242. //
  243. // VIS
  244. //
  245. Group = VIS
  246. {
  247.   Name = Visibility Index Set
  248.   RequireEXE = true
  249.   EXEFilter = HLVIS (hlvis.exe)|hlvis.exe
  250.  
  251.   CheckBox = Fast
  252.   {
  253.     Param = -fast
  254.     Bold = true
  255.     Hint = Fast vis.
  256.            A fast vis is handy for running around in a developed map without dropping polygons. However, r_speeds will usually be pretty bad, as well as epoly counts. The map can still be lit with hlrad, however its quality and compile time will both suffer as a result. Maps should regularly be compiled without fast vis, as fast vis can mask a sudden increase in normal vis compile time.
  257.   }
  258.   CheckBox = Full
  259.   {
  260.     Param = -full
  261.     Bold = true
  262.     Hint = Full vis.
  263.            This option enables extra calculations during vis, which help reduce the number of vis errors in a map over a normal vis. The speed hit is approximately 30% over a normal vis. r_speeds will generally be the same, though lower in some areas, and higher in others (primarily due to vis errors being fixed).
  264.   }
  265.  
  266.   Spaces = 8
  267.  
  268.   EditBox = Additional Parameters
  269.   {
  270.     Type = string
  271.     Width = 3
  272.     Hint = Add additional parameters here as you would a command line.
  273.   }
  274. }
  275.  
  276. //
  277. // NetVIS
  278. //
  279. Group = NetVIS
  280. {
  281.   Name = Network Visibility Index Set
  282.   RequireEXE = true
  283.   EXEFilter = NetVIS (netvis.exe)|netvis.exe
  284.  
  285.   CheckBox = Full
  286.   {
  287.     Param = -full
  288.     Bold = true
  289.     Hint = Full vis.
  290.            This option enables extra calculations during vis, which help reduce the number of vis errors in a map over a normal vis. The speed hit is approximately 30% over a normal vis. r_speeds will generally be the same, though lower in some areas, and higher in others (primarily due to vis errors being fixed).
  291.   }
  292.   CheckBox = Server
  293.   {
  294.     Param = -server
  295.     Bold = true
  296.     Hint = Run as the NetVIS server.
  297.   }
  298.   EditBox= Connect
  299.   {
  300.     Param = -connect
  301.     Bold = true
  302.     Type = string
  303.     Hint = Hosts computer name, domain name, or ip address.
  304.            Connect to a NetVIS server and assist compiling.
  305.   }
  306.   EditBox= Port
  307.   {
  308.     Param = -port
  309.     Type = Int
  310.     Default = 21212
  311.     Min = 0
  312.     Hint = The socket or port.
  313.   }
  314.   EditBox= Rate
  315.   {
  316.     Param = -rate
  317.     Type = Int
  318.     Default = 60
  319.     Min = 1
  320.     Hint = Change the status display update rate. (In seconds.)
  321.            Every time this interval is hit your console is updated with a progress report listing all the clients and their progress as well as an overall percentage.
  322.   }
  323.  
  324.   Spaces = 5
  325.  
  326.   EditBox = Additional Parameters
  327.   {
  328.     Type = string
  329.     Width = 3
  330.     Hint = Add additional parameters here as you would a command line.
  331.   }
  332. }
  333.  
  334. //
  335. // RAD
  336. //
  337. Group = RAD
  338. {
  339.   Name = Radiosity
  340.   RequireEXE = true
  341.   EXEFilter = HLRAD (hlrad.exe)|hlrad.exe
  342.  
  343.   CheckBox = Extra
  344.   {
  345.     Param = -extra
  346.     Bold = true
  347.     Hint = Turns on 9 point oversampling for lighting, making it look much better.
  348.   }
  349.   CheckBox = Sparse
  350.   {
  351.     Param = -sparse
  352.     Bold = true
  353.     Hint = Enable low memory vismatrix algorithm.
  354.            The original vismatrix algorithm was limited to 65535 patches due to its design. Its memory usage also grew exponentially with the number of patches (patches * patches / 16 bytes). This option enables a compressed vismatrix, which at the cost of extra CPU time, breaks the 65535 limit, and also uses about 10% of the memory the vismatrix would.
  355.   }
  356.   CheckBox = No Visibility Matrix
  357.   {
  358.     Param = -nomatrix
  359.     Hint = Disable usage of vismatrix entirely.
  360.            As the sparse code does some compression, it requires a lot of thread synchronization and does not scale well past 2 CPU's. The -nomatrix switch was added to address this. However, the addition of 'opaque brush entities' starting with ZHLT 2.2 hurts the -nomatrix method's performance quite a bit. There is no vismatrix in this method at all, so it essentially reduces the memory requirements to zero for that structure.
  361.   }
  362.   CheckBox = No Opaque Entities
  363.   {
  364.     Param = -nopaque
  365.     Bold = true
  366.     Hint = Disable all entities using zhlt_lightflags 2 to block light. Using opaque entities slows rad down, and using this option is useful for doing quicker non-final lighting compiles.
  367.   }
  368.   CheckBox = Circus
  369.   {
  370.     Param = -circus
  371.     Hint = Enable 'circus' mode for locating unlit lightmaps.
  372.            This is a debugging option, which will cause all black pixels in any lightmap to be set to a random fullbright color. It only looks at the direct lighting to make this determination, and ignores any bounced radiosity data for making this determination.
  373.   }
  374.   CheckBox = No Linear Interpolation
  375.   {
  376.     Param = -nolerp
  377.     Hint = Disable three multi-point interpolation for radiosity patch blending, use nearest point sample instead.
  378.   }
  379.   CheckBox = No Sky Fix
  380.   {
  381.     Param = -noskyfx
  382.     Hint = Disable light_environment being global ZHLT 2.1 added a simpler more manageable system for light_environments. The new behavior is that a map only needs a single light_environment entity to light up all sky everywhere. The placement of the entity no longer matters. The -noskyfix option turns this feature off and enables the original code which requires multiple light_environments to properly light up an outdoor area.
  383.   }
  384.   CheckBox = No Texture Scale
  385.   {
  386.     Param = -notexscale
  387.     Hint = Do not scale radiosity patches with texture scale.
  388.            By default, hlrad will take the texture scale and apply it to the chopping grid which is projected onto it. This option turns that off, and almost always increases the number of patches in a map as most maps have many walls scaled up to 2 and 3.
  389.   }
  390.   CheckBox = Dump Light Patches
  391.   {
  392.     Param = -dump
  393.     Hint = Dumps light patches to a file for hlrad debugging info This is a developer option for zhlt, to dump out the patch data generated by the chopping/subdividing and make sure it looks alright.
  394.   }
  395.   CheckBox = Incremental
  396.   {
  397.     Param = -incremental
  398.     Hint = Use or create an incremental transfer list file.
  399.            This is a handy option for tweaking lighting, especially on slow or lower memory machines. BuildVisLeafs, MakeScales, and SwapTransfers can be skipped entirely on subsequent runs of hlrad. Note that geometry must not change, but lighting can.
  400.   }
  401.  
  402.   EditBox = Additional Parameters
  403.   {
  404.     Type = string
  405.     Width = 3
  406.     Hint = Add additional parameters here as you would a command line.
  407.   }
  408.  
  409.   EditBox = Bounce
  410.   {
  411.     Param = -bounce
  412.     Bold = True
  413.     Type = Int
  414.     Default = 1
  415.     Min = 0
  416.     Hint = Set number of radiosity bounces.
  417.            This option sets the number of times light bounces in the radiosity pass. By the time the code gets to this point, all the data is precomputed, and extra bounces are very fast. It will make the shadows less harsh using more bounces, but can help light up dark areas much more naturally.
  418.   }
  419.   EditBox = Smooth
  420.   {
  421.     Param = -smooth
  422.     Bold = True
  423.     Type = Float
  424.     Default = 50
  425.     Min = 0
  426.     Max = 180
  427.     Hint = Set smoothing threshold for blending (in degrees).
  428.            By default hlrad uses Phong shading on all faces. If the angle between two edges is less than this value, it will be shaded with the Phong smoothing code, otherwise it won't.
  429.   }
  430.   EditBox = Chop
  431.   {
  432.     Param = -chop
  433.     Type = Float
  434.     Default = 64
  435.     Min = 1
  436.     Hint = Set radiosity patch size for normal textures.
  437.            Each face in the world has a grid projected onto it, and chopped up into a rather coarse set of sample points. These points are patches, and are what hlrad uses to do the bounced lighting calculations. A higher chop sacrifices quality for both speed and memory consumption of hlrad. A lower chop increases the quality at the expense of speed and memory usage.
  438.   }
  439.   EditBox = Texture Chop
  440.   {
  441.     Param = -texchop
  442.     Type = Float
  443.     Default = 32
  444.     Min = 1
  445.     Hint = Set radiosity patch size for texture light faces.
  446.            Texture light faces are chopped with a different granularity than the normal faces, primarily so that the lighting looks good. Generally it should be half of the chop value. Adding -extra to hlrad will automatically divide this value by 2 at runtime.
  447.   }
  448.   EditBox = Coring
  449.   {
  450.     Param = -coring
  451.     Type = Float
  452.     Default = 1
  453.     Min = 0
  454.     Hint = Set lighting threshold before blackness.
  455.            This value controls how much light it takes before a surface will be lit with a non-black value.
  456.   }
  457.   EditBox = Max Light
  458.   {
  459.     Param = -maxlight
  460.     Type = Float
  461.     Default = 256
  462.     Min = 0
  463.     Hint = Set maximum light intensity value.
  464.            This option can be used to cap the bright spots, if you want a map to come out darker overall.
  465.   }
  466.   EditBox = Direct Light
  467.   {
  468.     Param = -dlight
  469.     Type = Float
  470.     Default = 25
  471.     Min = 0
  472.     Hint = Set direct lighting threshold.
  473.            This option is similar to -maxlight, except that it re-normalizes the direct lighting values instead of clipping them if they are too high.
  474.   }
  475.   EditBox = Direct Scale
  476.   {
  477.     Param = -dscale
  478.     Type = Float
  479.     Default = 2
  480.     Min = 0
  481.     Hint = Set direct lighting scale.
  482.            Due to a bug in the original version of qrad, the direct lighting layer was added into the final lighting twice. The correct thing to do is only have it in there once, but at the time too many maps had been created with this assumption and it was left in there. This has been corrected as a command line switch, to scale the direct lighting by.
  483.            Using the value of '1' would generate the most correct looking maps. Using a value of '0' will remove the direct lighting completely. Using larger values, like '3' or '4', cause extremely harsh direct lighting relation to shadows.
  484.   }
  485.   EditBox = Fade
  486.   {
  487.     Param = -dscale
  488.     Type = Float
  489.     Default = 1
  490.     Min = 0
  491.     Hint = Set global fade (larger values = shorter lights).
  492.            This value adds in an artificial factor into the normal (1 / dist * dist) inverse square falloff calculations, by multiplying the denominator of the scale by the fade value. Point lights can set their own individual fade and falloff values, which override any global setting on the command line. These calculations only affect the direct lighting layer, as the radiosity pass always uses plain inverse square falloff.
  493.   }
  494.   EditBox = Scale
  495.   {
  496.     Param = -scale
  497.     Type = Float
  498.     Default = 1
  499.     Min = 0
  500.     Hint = Set global light scaling value.
  501.            This option scales the final light values right after the direct lighting layer is added to the radiosity bounced lighting layer. Low values make the world darker, higher values make it brighter.
  502.   }
  503.  
  504.   Spaces = 1
  505.  
  506.   EditBox = Gamma
  507.   {
  508.     Param = -gamma
  509.     Type = Float
  510.     Default = 0.5
  511.     Min = 0
  512.     Hint = Set global gamma value.
  513.            This option also occurs after the direct and radiosity layers are added together, and a global gamma correction is calculated and applied to the lighting before it is finalized.
  514.   }
  515.   EditBox = Sky
  516.   {
  517.     Param = -sky
  518.     Type = Float
  519.     Default = 0.5
  520.     Min = 0
  521.     Hint = Set ambient sunlight contribution in the shade outside.
  522.            Many faces have line of sight to sky, but fall in the shadow of some other object. This option affects how much of the normal sky lighting is put into the shadows.
  523.   }
  524.  
  525.   ComboBox = Fall Off Mode
  526.   {
  527.     Param = -falloff
  528.     Default = Inverse Square
  529.     Options = Inverse Square,2|Inverse Linear,1
  530.     Hint = Set global falloff mode.
  531.            This option can change the normal inverse square falloff of lighting in the direct lighting layer with inverse falloff.
  532.   }
  533.  
  534.   ColorBox = Ambient Light
  535.   {
  536.     Param = -ambient
  537.     Default = 0 0 0
  538.     Hint = Set ambient world light.
  539.            This option sets a minimum light value to every face so that nothing comes out pitch black.
  540.   }
  541.  
  542.   BrowseBox = Lights File
  543.   {
  544.     Param = -lights
  545.     Type = File
  546.     Bold = true
  547.     Filter = Radiosity Files (*.rad)|*.rad|Text Files (*.txt)|*.txt
  548.     Hint = Manually specify a lights.rad file to use.
  549.            The .rad file will be used in addition to the defaults of lights.rad and mapname.rad.
  550.   }
  551. }
  552.  
  553. //
  554. // RipEnts
  555. //
  556. Group = RipEnts
  557. {
  558.   Name = Rip Entities
  559.   RequireEXE = true
  560.   EXEFilter = RipEnts (ripent.exe)|ripent.exe
  561.  
  562.   CheckBox = Import
  563.   {
  564.     Param = -import
  565.     Bold = True
  566.     Hint = Import entity list back into .bsp.
  567.   }
  568.   CheckBox = Export
  569.   {
  570.     Param = -export
  571.     Bold = True
  572.     Hint = Export entity list from .bsp file.
  573.            Creates a mapname.ent file listing all the entities in .map format which you can then edit and import back into the .bsp file.
  574.   }
  575.  
  576.   Spaces = 8
  577.  
  578.   EditBox = Additional Parameters
  579.   {
  580.     Type = string
  581.     Width = 3
  582.     Hint = Add additional parameters here as you would a command line.
  583.   }
  584. }
  585.  
  586. //
  587. // Shared
  588. //
  589. Group = Shared
  590. {
  591.   Name = Shared
  592.   RequireEXE = false
  593.  
  594.   CheckBox = Chart
  595.   {
  596.     param = -chart
  597.     Groups = CSG, BSP, VIS, NetVIS, RAD
  598.     Bold = True
  599.     Hint = Display BSP statistics.
  600.            This option will cause the program to print out the bsp statistics right before it writes out the bsp. It is most handy to do -chart with hlrad and hlvis at the end of the compiles. The ripent program will always displays the chart.
  601.   }
  602.   CheckBox = No Log
  603.   {
  604.     param = -nolog
  605.     Groups = CSG, BSP, VIS, NetVIS, RAD
  606.     Hint = Don't generate the compile logfiles.
  607.            This option just disables the generation of the .log and .err files which are normally generated whenever the compile tools run.
  608.   }
  609.   CheckBox = Verbose
  610.   {
  611.     param = -verbose
  612.     Groups = CSG, BSP, VIS, NetVIS, RAD
  613.     Hint = Compile with verbose messages.
  614.            Many of the tools have 'minor warnings' and informative messages which are displayed when verbose mode is set. As the ZHLT 2.x series develops, many of the developer specific settings are being moved to developer messages, while the mapper related messages will remain as verbose messages.
  615.   }
  616.   CheckBox = Estimate
  617.   {
  618.     param = -estimate
  619.     Groups = CSG, BSP, VIS, NetVIS, RAD
  620.     Hint = Display estimated time during compile.
  621.            This option replaces the 10...20... style progress indicators with a estimate bar with some estimated completion times, as well as the exact number of the current job and how many jobs there are to do. The three different times remaining factor in varying amounts of historical data to guess how much longer it will take to run. It is good for a ballpark figure, but frequently not much more accurate than that.
  622.   }
  623.   CheckBox = No Info
  624.   {
  625.     param = -noinfo
  626.     Groups = CSG, BSP, VIS, NetVIS, RAD
  627.     Hint = Do not show tool configuration information.
  628.            ZHLT 2.1 added a configuration display for each of the tools as they run, to display the current settings for all configurable options as well as their defaults. This sometimes causes problems with other programs, most notably when compiling within Hammer, it likes to crash when too much stuff scrolls into its compile process window.
  629.   }
  630.  
  631.   EditBox = Texture Data
  632.   {
  633.     Param = -texdata
  634.     Groups = CSG, BSP, VIS, NetVIS, RAD
  635.     Bold = True
  636.     Type = Int
  637.     Default = 4096
  638.     Min = 2048
  639.     Hint = Alter maximum texture memory limit (in kb).
  640.            Halflife was built with a 2Mb texture limit, as was Opposing Force. The ZHLT default limit is 4Mb. Even 4Mb can be a bit much, when combined with model textures, skies, hud graphics, and more. This is especially true of people with older cards (Voodoo 1 and 2's, etc).
  641.   }
  642.   EditBox = Threads
  643.   {
  644.     Param = -threads
  645.     Groups = CSG, BSP, VIS, NetVIS, RAD
  646.     Type = Int
  647.     Default = 1
  648.     Min = 1
  649.     Hint = Manually specify the number of threads to run.
  650.            This option is generally only necessary on the non-windows versions of the tools, where there is not a standard way to detect the number of processors in the system and auto-set the value. It can be manually set on windows machines, primarily if you wish to use fewer threads than processors.
  651.   }
  652.  
  653.   ComboBox = Priority
  654.   {
  655.     Default = Low
  656.     Groups = CSG, BSP, VIS, NetVIS, RAD
  657.     Options = Low,-low|High,-high
  658.     Hint = Run program an altered priority level.
  659.            Setting the priority of the compile tools to -low is very handy, as you can multitask and do other things without really feeling the drain of the compile programs on the system, provided there is enough memory for the tools and the other programs you use.
  660.   }
  661.   ComboBox = Developer
  662.   {
  663.     Param = -dev
  664.     Groups = CSG, BSP, VIS, NetVIS, RAD
  665.     Default = Error
  666.     Options = Off,0|Error,1|Warning,2|Info,3|Fluff,4|Spam,5|MegaSpam,6
  667.     Hint = Compile with developer messages.
  668.            Internal ZHLT debugging messages have been slowly added to the tools. This variable sets the 'level' to display. In order (starting with 0 and going up) : Off, Error, Warning, Info, Fluff, Spam, MegaSpam. Generally this option should never be used except at request, to diagnose a compile problem on an end-users machine.
  669.   }
  670. }
  671.  
  672. //
  673. // Batch
  674. //
  675. Group = Batch
  676. {
  677.   Name = Batch File Options
  678.   RequireEXE = false
  679.  
  680.   LabelBox = Recommended File Deletions:
  681.  
  682.   CheckBox= Delete .WIC After Compile
  683.   {
  684.     BatchCommand = True
  685.     Param = del "$FilePath\$FileName.wic"
  686.     Param = echo $FilePath\$FileName.wic deleted.
  687.   }
  688.   CheckBox= Delete .LIN After Compile
  689.   {
  690.     BatchCommand = True
  691.     Param = del "$FilePath\$FileName.lin"
  692.     Param = echo $FilePath\$FileName.lin deleted.
  693.   }
  694.   CheckBox= Delete .P0 After Compile
  695.   {
  696.     BatchCommand = True
  697.     Param = del "$FilePath\$FileName.p0"
  698.     Param = echo $FilePath\$FileName.p0 deleted.
  699.   }
  700.   CheckBox= Delete .P1 After Compile
  701.   {
  702.     BatchCommand = True
  703.     Param = del "$FilePath\$FileName.p1"
  704.     Param = echo $FilePath\$FileName.p1 deleted.
  705.   }
  706.   CheckBox= Delete .P2 After Compile
  707.   {
  708.     BatchCommand = True
  709.     Param = del "$FilePath\$FileName.p2"
  710.     Param = echo $FilePath\$FileName.p2 deleted.
  711.   }
  712.   CheckBox= Delete .P3 After Compile
  713.   {
  714.     BatchCommand = True
  715.     Param = del "$FilePath\$FileName.p3"
  716.     Param = echo $FilePath\$FileName.p3 deleted.
  717.   }
  718.   CheckBox= Delete .PRT After Compile
  719.   {
  720.     BatchCommand = True
  721.     Param = del "$FilePath\$FileName.prt"
  722.     Param = echo $FilePath\$FileName.prt deleted.
  723.   }
  724.  
  725.   Spaces = 3
  726.   LabelBox = Recommended File Functions:
  727.  
  728.   CheckBox= Copy.BSP After Compile
  729.   {
  730.     BatchCommand = True
  731.     Param = copy "$FilePath\$FileName.bsp" "$FileDest"
  732.     Param = echo $FileName.bsp copied to $FileDest
  733.     Bold = True
  734.     Hint = Copy your .BSP file to your map destination folder.
  735.   }
  736.   CheckBox= Copy.PTS After Compile
  737.   {
  738.     BatchCommand = True
  739.     Param = copy "$FilePath\$FileName.pts" "$FileDest"
  740.     Param = echo $FileName.pts copied to $FileDest
  741.     Bold = True
  742.     Hint = Copy your .PTS file to your map destination folder.
  743.   }
  744.  
  745.   Spaces = 8
  746.   LabelBox = Unrecommended File Deletions:
  747.  
  748.   CheckBox= Delete .ERR After Compile
  749.   {
  750.     BatchCommand = True
  751.     Param = del "$FilePath\$FileName.err"
  752.     Param = echo $FilePath\$FileName.err deleted.
  753.     Hint = Note: If you delete this file you won't be able to see the compiler's error output.
  754.   }
  755.   CheckBox= Delete .LOG After Compile
  756.   {
  757.     BatchCommand = True
  758.     Param = del "$FilePath\$FileName.log"
  759.     Param = echo $FilePath\$FileName.log deleted.
  760.     Hint = Note: If you delete this file you won't be able to see the compiler's log file.
  761.   }
  762.   CheckBox= Delete .PTS After Compile
  763.   {
  764.     BatchCommand = True
  765.     Param = del "$FilePath\$FileName.pts"
  766.     Param = echo $FilePath\$FileName.pts deleted.
  767.     Hint = Note: If you delete this file without copying it you won't be able to use the compiler's pts file.
  768.   }
  769.   CheckBox= Delete .MAP After Compile
  770.   {
  771.     BatchCommand = True
  772.     Param = del "$FilePath\$FileName.map"
  773.     Param = echo $FilePath\$FileName.map deleted.
  774.   }
  775.   CheckBox= Delete .BSP After Compile
  776.   {
  777.     BatchCommand = True
  778.     Param = del "$FilePath\$FileName.bsp"
  779.     Param = echo $FilePath\$FileName.bsp deleted.
  780.     Hint = Note: If you delete this file without copying it you won't be able to play your map file.
  781.   }
  782. }
  783.  
  784. //
  785. // Half-Life
  786. //
  787. Group = HL
  788. {
  789.   Name = Half-Life
  790.   RequireEXE = true
  791.   EXEFilter = Half-Life (hl.exe)|hl.exe|Counter-Strike (cstrike.exe)|cstrike.exe
  792.  
  793.   CheckBox = Run Half-Life With Map
  794.   {
  795.     Param = +map $FileName
  796.     Bold = True
  797.     Hint = The map to start Half-Life with.
  798.   }
  799.   CheckBox = Enable Console
  800.   {
  801.     Param = -console
  802.     Bold = True
  803.     Hint = Start Half-Life with console enabled.
  804.   }
  805.   CheckBox = To Console
  806.   {
  807.     Param = -toconsole
  808.     Hint = Load Half-Life straight to console screen.
  809.   }
  810.   CheckBox = Developer
  811.   {
  812.     Param = -dev
  813.     Hint = Start Half-Life in developer mode (cheats).
  814.   }
  815.   CheckBox = No Intro
  816.   {
  817.     Param = -nointro
  818.     Hint = Skip starting intro.
  819.   }
  820.   CheckBox = Minimum Memory
  821.   {
  822.     Param = -minmemory
  823.     Hint = Start Half-Life with minimum memory.
  824.   }
  825.   CheckBox = Safe Mode
  826.   {
  827.     Param = -safe
  828.     Hint = Start Half-Life in safe mode (no acceleration).
  829.   }
  830.   CheckBox = No IP
  831.   {
  832.     Param = -noip
  833.     Hint = Don't let Half-Life try to connect to the internet.
  834.   }
  835.   CheckBox = No IPX
  836.   {
  837.     Param = -noipx
  838.     Hint = Disable IPX (recommended if you do not use IPX communication).
  839.   }
  840.   CheckBox = No Joystick
  841.   {
  842.     Param = -nojoy
  843.     Hint = Disable joystick initialization (saves a bit of memory).
  844.   }
  845.  
  846.   EditBox = Additional Parameters
  847.   {
  848.     Type = string
  849.     Width = 3
  850.     Hint = Add additional parameters here as you would a command line.
  851.   }
  852.  
  853.   CheckBox = Numeric Ping
  854.   {
  855.     Param = -numericping
  856.     Hint = Display server listing with ping times instead of Green dots.
  857.   }
  858.   EditBox = Heap Size
  859.   {
  860.     Param = -heapsize
  861.     Type = Int
  862.     Default = 65536
  863.     Min = 16384
  864.     Hint = The amount of memory to allocate for Half-Life.
  865.   }
  866.   EditBox = Game
  867.   {
  868.     Param = -game
  869.     Bold = True
  870.     Type = String
  871.     Default = cstrike
  872.     Hint = The MOD to start Half-Life in.
  873.   }
  874.   EditBox = Particles
  875.   {
  876.     Param = -particles
  877.     Type = Int
  878.     Default = 65536
  879.     Min = 1
  880.     Hint = The number of particles to search for leaks with.
  881.   }
  882.  
  883.   ComboBox = Render Mode
  884.   {
  885.     Default = Direct 3D
  886.     Options = Direct 3D,-d3d|Software,-soft|Open GL,-gl
  887.     Hint = Start Half-Life in the following rendermode.
  888.   }
  889.   ComboBox = Startup State
  890.   {
  891.     Default = Fullscreen
  892.     Options = Fullscreen,-full|Windowed,-win
  893.     Hint = Start Half-Life with the following window state.
  894.   }
  895. }
  896.